home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / vdtwn / tvf / asmhd6 / tw1hd6 / zoom.hd6 < prev    next >
Text File  |  1993-07-08  |  1KB  |  89 lines

  1. ds_name        db    '\KOMEI\実物\tvf_prg\ZOOM',0
  2.  
  3.  
  4. paint_wd:
  5. re_paint:
  6. mouse_in:
  7.      ret
  8.  
  9. be_called:
  10.  
  11. ;===== ZOOM UP mode =====
  12.  
  13.      push ebp
  14.      push ds
  15.      push es
  16.      mov ax,1ch
  17.      mov ds,ax
  18.      mov es,ax
  19.  
  20.         align    4
  21. zoom_up:    mov    ah,7    ;水平移動範囲指定
  22.         mov    dx,0
  23.         mov    bx,180
  24.         call    MOUSE       ;pword ptr fs:[MB]
  25.         mov    ah,8    ;垂直移動範囲指定
  26.         mov    dx,0
  27.         mov    bx,120
  28.         call    MOUSE       ;pword ptr fs:[MB]
  29.         align    4
  30. #zoom_up:    call    MOUSE1      ;pword ptr fs:[MSR]
  31.         mov    ah,03h            ;位置読み取り
  32.         call    MOUSE       ;pword ptr fs:[MB]
  33.         movzx    eax,dx
  34.         movzx    esi,bx
  35.         imul    esi,400h        ;SourceVRAM座標算出
  36.         shl    eax,1
  37.         add    esi,eax
  38.         mov    edi,40000h        ;DestinationVRAM座標(^^;)
  39.  
  40.         mov    ebp,400h-4    ;work
  41.         mov    edx,400h
  42.         mov    ecx,120/2
  43. ;拡大率は、2倍
  44.         align    4
  45. #drawing:    push    ecx
  46.         mov    cl,16
  47.     REPT    2
  48.         REPT    180
  49.         lodsw
  50.         mov    ebx,eax    ;この方が早い
  51.         shl    eax,cl
  52.         mov    ax,bx
  53.         stosd
  54.         add    edi,ebp
  55.         stosd
  56.         sub    edi,edx
  57.         ENDM
  58.         add    esi,400h-180*2
  59.         add    edi,800h-360*2
  60.     ENDM
  61.         pop    ecx
  62.         dec    ecx
  63.         jnz    #drawing
  64.  
  65.         mov    ax,0901h
  66.         int    90h
  67.         xor    dh,0FFh
  68.         je    #zoom_up
  69.  
  70.  
  71.         pop es
  72.         pop ds
  73.      pop ebp
  74.      ret
  75.  
  76.  
  77.  
  78.  
  79. look_me:
  80.      call sub_esi
  81.      dd 0,0
  82.      dw     0,0,18,42,20,10,15,1,0,0
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.